/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ValidationPkg;

import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.FacesValidator;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;

/**
 *
 * @author root
 */
@FacesValidator("com.ValidationPkg.LoginValidation")
public class LoginValidation implements Validator{

    private static final String EMAIL_PATTERN = "^[_A-Za-z0-9-]+(\\." +
			"[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*" +
			"(\\.[A-Za-z]{2,})$";
 
	private Pattern pattern;
	private Matcher matcher;

        public LoginValidation()
        {
              pattern = Pattern.compile(EMAIL_PATTERN);

        }
    @Override
    public void validate(FacesContext fc, UIComponent uic, Object o) throws ValidatorException {

       
        
        matcher = pattern.matcher(o.toString());
		if(!matcher.matches()){
 
			FacesMessage msg = new FacesMessage("E-mail validation failed.", 
						"Invalid E-mail  format.");
			msg.setSeverity(FacesMessage.SEVERITY_ERROR);
			throw new ValidatorException(msg);

    }
    }
}
